The Fourier transform is a mathematical technique for representation of various functions as sums of simpler trigonometric functions, or vice versa. Today, the Fourier transform is utilized in a vast number of applications such as signal processing, signal filtering, signal feature extraction, and signal analysis. The Fourier transform finds its applications in audio and video signal processing, wireless telecommunications, stream data processing, encrypting, coding, decoding, and so forth.
The Discrete Fourier Transform (DFT) is a specific kind of discrete transform that may be used to transform one function into another and is known as a frequency domain representation of the original function (often a function in the time domain), or vice versa. The DFT requires a discrete input function. Such inputs are often created by sampling a continuous function, such as the amplitude of an audio signal or similar wave signals. The discrete input function has a finite duration, such as one or more periods or a windowed segment of a longer sequence. The DFT evaluates frequency components to reconstruct the finite segment that was analyzed. The inverse DFT cannot reproduce the entire time domain, unless the input happens to be periodic. Therefore, it is often said that the DFT is a transform for Fourier analysis of finite-domain discrete-time functions.
An input to the DFT is a finite sequence of real or complex numbers, which makes the DFT suitable for processing digital signals, and thus useful, for example, in analyzing frequencies included in a sampled signal. A key enabling factor for these applications is the fact that the DFT can be computed efficiently by using a Fast Fourier Transform (FFT) technique.
In general, the FFT technique is an efficient technique to compute the DFT and its inverse using a smaller number of iterations compared to classical Fourier Transform techniques. Typically, FFT techniques involve receiving and processing signal samples by grouping them into batches (or successive groups of samples). The starting points of any two adjacent batches may typically include several tens or even thousands of different samples. In other words, a computer performing the FFT may jump through data, taking snapshots of the data at regular intervals. The effect on the output of the computer is similar to using a strobe lamp, rather than a continuous light source, to keep track of the signal behavior.
There are many distinct FFT techniques, one of which is a Sliding Discrete Fourier Transform (SDFT). The SDFT was designed to enable detecting or extracting signal features of the FFT when the signal is at the boundary of two batches, something difficult to achieve with the conventional FFT technique. The SDFT implements a virtual sliding window which moves along the sampled signal, with the moving step as low as one sample. Accordingly, the virtual sliding window extracts batches for further DFT processing on a continuing basis. Moreover, the SDFT takes advantage of two or more successive batches which may contain substantially identical elements. The similarities between the neighboring batches are exploited in SDFT for improving computational efficiency.
Generally, the SDFT is an attractive technique for many applications because it responds to changes in signal behavior immediately and, thereby, provides minimal latency. Additionally, the SDFT may produce continuous signal updates for predictive analysis and respond correctly to transient signals. These features may be used in speech recognition, industrial control, avionics, radar, data compression, securities trading, and many other fields.